home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 18 / CU Amiga Magazine's Super CD-ROM 18 (1997)(EMAP Images)(GB)[!][issue 1998-01].iso / CUCD / Online / CNetDemo / InstallCNet_Dist < prev   
Encoding:
Text File  |  1997-09-04  |  21.7 KB  |  1,024 lines

  1. ; $VER: CNet Install 1.05 (5.01.97)
  2. (set CNetVersion "4.28d")
  3.  
  4. ; CNet PRO 4 Installation script
  5. ;
  6. ; The publishers of CNet PRO 4 wish to extend many THANKS to Bob Maple
  7. ; for the creation of this install script, (version 1.0 (12.13.93))
  8. ; His elegant work has been chopped and hacked by others since then,
  9. ; so if you find something here that looks sloppy, DON'T BLAME BOB!
  10. ;
  11. ; Requires Commodore 'Installer' program
  12. ;
  13. ; Slight tweaks by Jim Selleck for CNet/3 release version 3.04, 3.05c
  14. ;
  15. ; Updated for CNet/4 install by Ray Akey
  16. ;
  17. ; LAST MODIFIED: 05-Sep-97
  18.  
  19. ; This installation script is provided AS-IS, with no warranties expressed
  20. ; or implied.  The authors will not be held responsible for any damages due
  21. ; to the use or mis-use of this installation script; using this script is
  22. ; entirely at your own risk.
  23.  
  24. ;
  25. ; Define some global variables
  26. ;
  27.  
  28. (set help-modify-self
  29.  
  30.     (cat        "If you have modified any of these files, "
  31.             "you might want to skip this part and manually "
  32.             "look for any changes/modify them yourself."
  33.     )
  34. )
  35.  
  36. (set ask-install-part    "Please select the partition/directory to " )
  37. (set ask-install-part2  "install the master CNET directory."        )
  38. (set ask-install-nodir  "(NOTE: A directory will NOT be created.)\n")
  39.  
  40.  
  41. ;
  42. ; BEGIN PROCEDURE DEFINITION
  43. ;
  44. ; The installer script basically consists of a series of calls to different
  45. ; procedures which install certain sets of data, depending on whether or not
  46. ; they are a new-installer or an update-installer.
  47. ;
  48.  
  49. (procedure    CopyExecutables1    ; Copies executables/etc from disk 1
  50. (
  51.  
  52.     (copyfiles
  53.  
  54.         (source "cnet")
  55.         (dest   "CNET:")
  56.  
  57.         (choices
  58.  
  59.             "bbs"        "bbsroom0"    "bbswake"    "big_numbers"
  60.             "close"        "config"    "control"    "cron"
  61.             "file-task"    "mail-task"    "news-task"    "setpass"
  62.             "toss"        "unlock"    "vde"        "vde2"
  63.             "yank-task"    "useredit"    "cnsmtpd"
  64.         )
  65.  
  66.         (optional "nofail" "askuser")
  67.     )
  68.  
  69.     ; Makes sure the PURE bit is set, saving millions of people asking
  70.     ; why this new version eats so much RAM.
  71.  
  72.     (protect "CNet:BBS" "+r +w +e +d +p")
  73.  
  74.     (copyfiles
  75.  
  76.         (source "cnet/doors")
  77.         (dest    "cnet:doors")
  78.  
  79.         (all)
  80.         (optional "nofail" "askuser")
  81.     )
  82.  
  83. ;    (copyfiles
  84. ;
  85. ;        (source "cnet/doors/internet_support")
  86. ;        (dest    "cnet:doors/internet")
  87. ;
  88. ;        (all)
  89. ;        (optional "nofail" "askuser")
  90. ;    )
  91.  
  92. )
  93. )
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100. (procedure    CopyExecutables2    ; Copies executables from disk 2
  101. (
  102.  
  103.     (copyfiles
  104.  
  105.         (source "sys/c")
  106.         (dest    "sys:C"  )
  107.  
  108.         (all)
  109.         (optional "nofail" "askuser")
  110.     )
  111.  
  112.     (copyfiles
  113.  
  114.         (source "sys/fonts")
  115.         (dest    "sys:FONTS"  )
  116.  
  117.         (all)
  118.         (optional "nofail" "askuser")
  119.     )
  120.  
  121.     (copyfiles
  122.  
  123.         (source "sys/l")
  124.         (dest    "sys:L" )
  125.  
  126.         (all)
  127.         (optional "nofail" "askuser")
  128.     )
  129.  
  130.     (message "\nI will now install some libraries which CNet "
  131.         "and other utilities require on your system."
  132.  
  133.     (help    "These libraries are installed in LIBS: and are required "
  134.         "by CNet, and possibly used by other external utilities, including "
  135.         "the possibility of some 3rd-party programs. If you are upgrading "
  136.                 "from a previous version of CNet, you should always install the newest "
  137.                 "libraries"
  138.     )
  139.     )
  140.  
  141.     (copyfiles
  142.  
  143.         (source "sys/libs")
  144.         (dest    "sys:Libs"  )
  145.  
  146.         (all)
  147.         (optional "nofail" "askuser")
  148.     )
  149.  
  150. )
  151. )
  152.  
  153.  
  154. (procedure    CopyConfigs
  155. (
  156.     (copyfiles
  157.         (source "cnet/configs") (dest "CNET:configs")
  158.         (choices "bbsconfig4_def" "bbsconfig_ext_def" )
  159.         (optional "nofail" "askuser")
  160.     )
  161.  
  162. )
  163. )
  164.  
  165.  
  166.  
  167. (procedure    CopyStandards
  168. (
  169.     (copyfiles
  170.  
  171.         (source "cnet")
  172.         (dest   "CNET:")
  173.  
  174.         (choices
  175.         
  176.             "!bbsmenu_stock"
  177.             "BIG_Numbers"        "!bbstext_stock"
  178.             "bbsroom0"        
  179.         )
  180.  
  181.         (optional "nofail" "askuser")
  182.     )
  183.  
  184. ;       Rename cnet:!bbsmenu_stock as cnet:bbsmenu if bbsmenu not existant
  185.     (if    
  186.         (exists "cnet:bbstext" (noreq))
  187.  
  188.         ; TRUE statement
  189.         ("")
  190.  
  191.         ; FALSE statement
  192.         (
  193.         (rename "cnet:!bbstext_stock" "cnet:bbstext")
  194.         )
  195.     )
  196.  
  197. ;       Rename cnet:!bbstext_stock as cnet:bbsmenu if bbstext not existant
  198.     (if    
  199.         (exists "cnet:bbsmenu" (noreq))
  200.  
  201.         ; TRUE statement
  202.         ("")
  203.  
  204.         ; FALSE statement
  205.         (
  206.         (rename "cnet:!bbsmenu_stock" "cnet:bbsmenu")
  207.         )
  208.     )
  209.  
  210. ;       Rename cnet:configs/bbsconfig4_def as cnet:configs/bbsconfig4
  211.     (if    
  212.         (exists "cnet:configs/bbsconfig4" (noreq))
  213.  
  214.         ; TRUE statement
  215.         ("")
  216.  
  217.         ; FALSE statement
  218.         (
  219.         (rename "cnet:configs/bbsconfig4_def" "cnet:configs/bbsconfig4")
  220.         )
  221.     )
  222.  
  223. ;       Rename cnet:configs/bbsconfig_ext_def as cnet:configs/bbsconfig_ext
  224.     (if    
  225.         (exists "cnet:configs/bbsconfig_ext" (noreq))
  226.  
  227.         ; TRUE statement
  228.         ("")
  229.  
  230.         ; FALSE statement
  231.         (
  232.         (rename "cnet:configs/bbsconfig_ext_def" "cnet:configs/bbsconfig_ext")
  233.         )
  234.     )
  235. )
  236. )
  237.  
  238.  
  239.  
  240. (procedure    CopySysdata
  241. (
  242.  
  243.     (copyfiles
  244.  
  245.         (source "cnet/sysdata")
  246.         (dest    "sysdata:")
  247.  
  248.         (all)
  249.         (optional "nofail" "askuser")
  250.     )
  251. )
  252. )
  253.  
  254.  
  255.  
  256. (procedure    CopySpeller
  257. (
  258.     (set    DestPath
  259.  
  260.         (askdir
  261.  
  262.             (prompt    "\nPlease select where you want to install the speller "
  263.                 "master dictionary "
  264.                 ask-install-nodir
  265.             )
  266.             (help    "The dictionary can be anywhere you choose (suggestion: "
  267.                 "CNet:Spell).  Note that you must set up this path "
  268.                 "with CONFIG as well.  Consult your CNet manual."
  269.             )
  270.  
  271.             (default "CNet:Spell")
  272.         )
  273.     )
  274.  
  275.     (copyfiles
  276.  
  277.         (source "cnet/Spell")
  278.         (dest    DestPath)
  279.  
  280.         (pattern "#?")
  281.         (files)
  282.         (optional "nofail" "askuser")
  283.     )
  284.  
  285. )
  286. )
  287.  
  288.  
  289. (procedure    CopyMenus
  290. (
  291.     (copyfiles
  292.  
  293.         (source "cnet/systext/menu")
  294.         (dest    "SysText:Menu")
  295.  
  296.         (all)
  297.         (optional "nofail" "askuser")
  298.     )
  299.  
  300. )
  301. )
  302.  
  303.  
  304.  
  305. (procedure    CopyHelp
  306. (
  307.     (copyfiles
  308.  
  309.         (source "cnet/systext/help")
  310.         (dest    "SysText:Help")
  311.  
  312.         (all)
  313.         (optional "nofail" "askuser")
  314.     )
  315.     
  316. )
  317. )
  318.  
  319. (procedure    CopyTextMenu
  320. (
  321.     (copyfiles
  322.  
  323.         (source "cnet/!bbstext_stock")
  324.         (dest    "CNet:")
  325.         (newname (cat "bbstext_" CNetVersion))
  326.  
  327.         (files)
  328.         (optional "nofail" "askuser")
  329.     )
  330.  
  331.     (copyfiles
  332.  
  333.         (source "cnet/!bbsmenu_stock")
  334.         (dest    "CNet:")
  335.         (newname (cat "bbsmenu_" CNetVersion))
  336.  
  337.         (files)
  338.         (optional "nofail" "askuser")
  339.     )
  340. )
  341. )
  342.  
  343. (procedure    CopyNew
  344. (
  345.     (copyfiles
  346.  
  347.         (source "cnet/systext/new")
  348.         (dest    "SysText:New")
  349.  
  350.         (all)
  351.         (optional "nofail" "askuser")
  352.     )
  353.     
  354. )
  355. )
  356.  
  357.  
  358.  
  359. ;
  360. ; BEGIN MASTER INSTALL PROCEDURES
  361. ; The following two procedures handle new installations and update
  362. ; installations, calling the proper procedures defined above as well as
  363. ; doing other specialized tasks.
  364. ;
  365.  
  366. (procedure    DoUpdateInstall
  367. (
  368.     (CopyExecutables1)
  369.     (CopyTextMenu)
  370.  
  371.     (if
  372.         (askbool
  373.         
  374.             (prompt "\nDo you want to re-install the menu files?")
  375.             (help    "Copies all the menu files into SYSTEXT:Menu. "
  376.                 help-modify-self
  377.             )
  378.         )
  379.  
  380.         ; TRUE (Yes) statement
  381.         (
  382.             (CopyMenus)
  383.         )
  384.     )
  385.  
  386.     (if
  387.         (askbool
  388.         
  389.             (prompt "\nDo you want to re-install the help files?")
  390.             (help    "Copies all the help files into SYSTEXT:Help. "
  391.                 help-modify-self
  392.             )
  393.         )
  394.  
  395.         ; TRUE (Yes) statement
  396.         (
  397.             (CopyHelp)
  398.         )
  399.     )
  400.  
  401.     (if
  402.         (askbool
  403.         
  404.             (prompt "\nDo you want to re-install the new-user files?")
  405.             (help    "Copies all the new-user help files into SYSTEXT:New.\n\n"
  406.                 "The new-user files are all the pieces of text "
  407.                 "which describe questions new users are asked when "
  408.                 "logging in, as well as the public and sysop questions.\n\n"
  409.                 help-modify-self
  410.             )
  411.         )
  412.  
  413.         ; TRUE (Yes) statement
  414.         (
  415.             (CopyNew)
  416.         )
  417.     )
  418.  
  419.     (CopyExecutables2)
  420.  
  421.     (if
  422.         (askbool
  423.         
  424.             (prompt "\nDo you want to re-install the CNet speller dictionary?" )
  425.             (help    "This master-dictionary rarely changes, and chances "
  426.                 "are you have added words to it yourself already. "
  427.                 "It is recommended that you skip this part of the "
  428.                 "update installation if you have made any changes "
  429.                 "to your dictionary."
  430.             )
  431.         )
  432.  
  433.         ; TRUE (Yes) statement
  434.         (
  435.             (CopySpeller)
  436.         )
  437.     )
  438.  
  439.  
  440.     (message
  441.  
  442.         "\nUpdate installed.  CNet:BBSTEXT and "
  443.         "CNet:BBSMENU were NOT installed.  Most CNet SysOps "
  444.         "have heavily modified these files. There are several utilities "
  445.         "available which can detect changes and help transfer those "
  446.         "changes into your CURRENT files, saving you from "
  447.         "starting over completely from scratch.\n\nCheck the update "
  448.         "section of your CNet manual and the UPDATE directory "
  449.         "where the cnet archive was decompressed.  There may be conversion files to run or "
  450.         "other file renaming procedures needed before you can "
  451.         "run your CNet update.\n\n"
  452.         "The newer bbstext and bbsmenu files have been installed in your CNET: "
  453.         "directory titled as !bbstext_stock and !bbsmenu_stock, respectively."
  454.     )
  455.  
  456.     (if
  457.         (askbool
  458.  
  459.             (prompt "\nYou should also run the VDE programs "
  460.                 "to create/update your system VDE files.\n\n"
  461.                 "Do you wish to run the VDE executables now?"
  462.             )
  463.             (help    "VDE is a simple utility that creates the required system "
  464.                 "VDE (Visual Data Editor) files.  See your CNet manual for more info."
  465.             )
  466.         )
  467.  
  468.         ; TRUE statement
  469.         (
  470.             (run "run CNet:VDE"  )
  471.             (run "run CNet:VDE2" )
  472.         )
  473.     )
  474.  
  475.     (if
  476.         (askbool
  477.  
  478.             (prompt "\nDo you will to run the CNet CONFIG program now?"
  479.             )
  480.             (help    "CONFIG is the CNet utility that allows you to "
  481.                 "configure/customize/personalize your BBS."
  482.             )
  483.         )
  484.  
  485.         ; TRUE statement
  486.         (
  487.             (run "run CNet:CONFIG" )
  488.         )
  489.     )
  490.  
  491.     (if
  492.         (askbool
  493.  
  494.             (prompt "\nDo you wish to view the Amigaguide CNet "
  495.                 "changes documentation?"
  496.             )
  497.             (help    "!changes.guide and !chagnes.readme contain "
  498.                 "detailed descriptions of changes made to CNet."
  499.             )
  500.         )
  501.  
  502.         ; TRUE statement
  503.         (
  504.             (run "run CNet:VDE"  )
  505.             (run "run amigaguide cnet:!changes.guide" )
  506.         )
  507.     )
  508.  
  509. )
  510. )
  511.  
  512.  
  513. (procedure    DoNewInstall
  514. (
  515.     (message
  516.  
  517.         "\nCNet Amiga has many different data files, and most related "
  518.         "files are grouped into directories, so that you can choose "
  519.         "different places for each set of data to go (for instance, "
  520.         "you might put your menus, help files, and other small data "
  521.         "sets on one small HD partition, while you might want your "
  522.         "message bases on a larger HD partition.)\n\n"
  523.         "I will now ask you to choose a place for each data set.  "
  524.         "Consult your CNet Amiga manual for information on what is "
  525.         "what, or use the HELP key for information."
  526.     )
  527.  
  528.     (set    DestDir
  529.  
  530.         (askdir
  531.  
  532.             (prompt    ask-install-part ask-install-part2
  533.             )
  534.             (help    "The master CNet directory is the home of the "
  535.                 "main executable, as well as it's control files "
  536.                 "like Config, your modem setups, BBSTEXT, etc.\n\n"
  537.                 "It's suggested that you choose a medium-sized "
  538.                 "partition and use this as a 'base' for all your "
  539.                 "other directories, like GFiles, Mail, News, etc.\n\n"
  540.                 "(A CNET drawer will be created)"
  541.             )
  542.             (default "Work:")
  543.         )
  544.     )
  545.     (makedir    (tackon DestDir "CNet"))
  546.     (makeassign "CNet" (tackon DestDir "CNet"))
  547.  
  548.     (message
  549.  
  550.         "\nAn assign called CNET: has been made to the master "
  551.         "directory just created.  Many of the following "
  552.         "installation questions might refer to this assignment."
  553.     )
  554.  
  555.     (set    DestDir
  556.  
  557.         (askdir
  558.  
  559.             (prompt    ask-install-part "create the GFILES drawer"
  560.             )
  561.             (help    "The GFiles directory holds any extra text-files "
  562.                 "(or [G]eneral text Files) you want to install for your "
  563.                                 "users.\n\n"
  564.             )
  565.             (default "CNet:")
  566.         )
  567.     )
  568.     (makedir (tackon DestDir "GFiles"))
  569.     (makeassign "GFiles" (tackon DestDir "GFiles"))
  570.     (makedir "GFiles:Data")
  571.  
  572.     (set    DestDir
  573.  
  574.         (askdir
  575.  
  576.             (prompt    ask-install-part "create the DOORS drawer"
  577.             )
  578.             (help    "The DOORS directory holds a series of executables "
  579.                 "C-Net requires, as well as serving as a place to "
  580.                                 "store any extra DOORS you wish to install for your "
  581.                                 "users, like games.\n\n"
  582.             )
  583.             (default "CNet:")
  584.         )
  585.     )
  586.     (set DestDir (tackon DestDir "DOORS"))
  587.         (makedir DestDir)
  588.     (makeassign "DOORS" DestDir)
  589.     (makedir "DOORS:Data")
  590.  
  591.     (set    DestDir
  592.  
  593.         (askdir
  594.  
  595.             (prompt    ask-install-part "create the MAIL drawer"
  596.             )
  597.             (help    "The Mail directory holds a series of directories "
  598.                 "(one for each user) in which unique user data is "
  599.                 "stored; user signature files, question files, their "
  600.                 "e-mail, etc."
  601.             )
  602.             (default "CNet:")
  603.         )
  604.     )
  605.     (set DestDir (tackon DestDir "Mail"))
  606.         (makedir DestDir)
  607.     (makeassign "Mail" DestDir)
  608.     (makedir (tackon DestDir "Users"))
  609.  
  610.     (set    DestDir
  611.  
  612.         (askdir
  613.  
  614.             (prompt    ask-install-part "create the NEWS drawer"
  615.             (help    "The News directory holds system NEWS files "
  616.                                 "displayed to users at login or whenever they "
  617.                 "enter the BBS news area."
  618.             )
  619.             )
  620.             (default "CNet:")
  621.         )
  622.     )
  623.     (makedir (tackon DestDir "News"))
  624.     (makeassign "News" (tackon DestDir "News"))
  625.     (makedir "cnet:News/Data")
  626.  
  627.     (set    DestDir
  628.  
  629.         (askdir
  630.  
  631.             (prompt    ask-install-part "create the BASE0 drawer"
  632.             )
  633.             (help    "The Base0: directory holds the datafiles to your "
  634.                 "message and file bases.  Messages and files are stored here, as well as "
  635.                 "entry files, etc.  Base0: must be assigned to a specific area on your hard disk."
  636.             )
  637.             (default "CNet:")
  638.         )
  639.     )
  640.     (makedir (tackon DestDir "Base0"))
  641.     (makeassign "Base0" (tackon DestDir "Base0"))
  642.     (makedir "Base0:main")
  643.     (makedir "Base0:main/data")
  644.  
  645.  
  646.     (set    DestDir
  647.  
  648.         (askdir
  649.  
  650.             (prompt    ask-install-part "create the SYSDATA drawer"
  651.             )
  652.             (help    "The SysData directory holds critical BBS data like "
  653.                 "the master user-file and it's associated index files, "
  654.                 "as well as your BBSList files, log files, and "
  655.                 "voting booth information."
  656.             )
  657.             (default "CNet:")
  658.         )
  659.     )
  660.     (set DestDir (tackon DestDir "SysData"))
  661.         (makedir DestDir)
  662.     (makeassign "SysData" DestDir)
  663.     (makedir (tackon DestDir "Log"))
  664.     (makedir (tackon DestDir "Vote"))
  665.     (makedir (tackon DestDir "BBSList"))
  666.  
  667.     (set    DestDir
  668.  
  669.         (askdir
  670.  
  671.             (prompt    ask-install-part "create the SYSTEXT drawer"
  672.             )
  673.             (help    "The SysText directory holds all text-files used "
  674.                 "throughout the BBS like menus, help files, and new "
  675.                 "user files, as well as your VDE (Visual Data Editor) "
  676.                 "files required by the BBS for editing certain data."
  677.             )
  678.             (default "CNet:")
  679.         )
  680.     )
  681.     (set DestDir (tackon DestDir "SysText"))
  682.         (makedir DestDir)
  683.     (makeassign "SysText" DestDir)
  684.     (makedir (tackon DestDir "VDE" ))
  685.     (makedir (tackon DestDir "Menu"))
  686.     (makedir (tackon DestDir "Help"))
  687.     (makedir (tackon DestDir "New" ))
  688.  
  689.     (CopyExecutables1)
  690.     (CopySysdata)
  691.     (CopyMenus)
  692.     (CopyConfigs)
  693.     (CopyHelp)
  694.     (CopyNew)
  695.     (CopyStandards)
  696.  
  697.     (CopyExecutables2)
  698.  
  699.     (if    (askbool
  700.  
  701.             (prompt    "\nWould you like to install the built-in spell "
  702.                 "checker?"
  703.             )
  704.             (help    "CNet's VisualEd editor has a built-in spell "
  705.                 "checker.  However, in order for the spell checker "
  706.                 "to be activated, the master dictionary must be "
  707.                 "installed.\n\nIn addition, a couple of utilities "
  708.                 "will be installed which allow you to compress and "
  709.                 "decompress the master dictionary so that you may "
  710.                 "add/remove words from it."
  711.             )
  712.         )
  713.  
  714.         ; TRUE statement
  715.         (
  716.             (CopySpeller)
  717.  
  718.             (set SplLine1 ( "copy        \"%s\" RAM:" (tackon DestPath "dict"      ) ))
  719.             (set SplLine2 ( "copy        \"%s\" RAM:" (tackon DestPath "dict.index") ))
  720.  
  721.             (if
  722.                 (askbool
  723.                 
  724.                     (prompt "\nWould you like to run the speller "
  725.                         "out of RAM?"
  726.                     )
  727.                     (help    "Keeping the CNet dictionary in RAM "
  728.                         "will help speed up spell checks.  "
  729.                         "If you choose to install the dictionary "
  730.                         "in RAM, a statement will be added to your "
  731.                         "S:User-Startup file to automatically copy "
  732.                         "it into RAM on startup.\n\n"
  733.                         "Also remember that you should then set the "
  734.                         "speller path through CONFIG to be RAM:, not "
  735.                         ("\"%s\" (where you installed the speller.)" DestPath )
  736.                     )
  737.                 )
  738.                 
  739.                 ; TRUE statement
  740.                 (
  741.                     (message
  742.  
  743.                         "\nRemember to set your speller path to RAM: "
  744.                         "when you configure your BBS with CONFIG."
  745.                     )
  746.                 )
  747.                 
  748.                 ; FALSE statement
  749.                 (
  750.                     (set SplLine1 (cat "; " SplLine1))
  751.                     (set SplLine2 (cat "; " SplLine2))
  752.                 )
  753.             )
  754.         )
  755.     )
  756.  
  757.  
  758.     (if    (askbool
  759.     
  760.             (prompt "\nDo you want to run CNet resident?")
  761.             (help    "CNet is a 'pure' program, meaning it can be "
  762.                 "made resident.  Programs which are resident "
  763.                 "have the distinct advantage of being re-entrant; "
  764.                 "meaning if you have 3 copies of it running, there "
  765.                 "is really only 1 copy taking up memory, with three "
  766.                 "different sets of variables.\n\n"
  767.                 "This saves a LOT of memory when running CNet in a "
  768.                 "multi-user enviornment, because you are saving about "
  769.                 "260k of RAM for *EVERY* extra port you have loaded.\n\n"
  770.                 "Even if you are only running 1 line, it's a good idea "
  771.                 "to make it resident, since you will probably have a 'port 0' "
  772.                 "or other local port up sometimes.\n\n"
  773.                 "Note that it does NOT waste memory to have CNet "
  774.                 "made resident even if you are only running 1 port."
  775.             )
  776.         )
  777.         
  778.         ; TRUE statement
  779.         (
  780.             (set ResFlag "")
  781.         )
  782.         
  783.         ; FALSE statement
  784.         (
  785.             (set ResFlag "; ")
  786.             
  787.             (message "\nThe BBS will NOT be made resident.  However, "
  788.                  "in your S:User-Startup file, the lines responsible "
  789.                  "for making the BBS resident will appear, but prefixed "
  790.                  "with semicolons (;), which comments them out.\n\n"
  791.                  "Should you wish to run the BBS resident in the future, "
  792.                  "all that needs to be done is removal of those semicolons."
  793.             )
  794.         )
  795.         
  796.     )
  797.  
  798.     (if    (askbool
  799.     
  800.             (prompt "\nDo you want to run CNet automatically when your system "
  801.                 "is started?"
  802.             )
  803.             (help    "If you wish CNet to automatically be started when your "
  804.                 "system is booted, answer YES.  It is a good idea to have "
  805.                 "CNet run automatically, especially in case of a power "
  806.                 "outage and when you aren't around to manually startup "
  807.                 "the BBS."
  808.             )
  809.         )
  810.         
  811.         ; TRUE statement
  812.         (
  813.             (set RunFlag "")
  814.         )
  815.         
  816.         ; FALSE statement
  817.         (
  818.             (set RunFlag "; ")
  819.             
  820.             (message "\nThe BBS will NOT be automatically run on startup. However, "
  821.                  "in your S:User-Startup file, the line responsible "
  822.                  "for starting the BBS will appear, but prefixed "
  823.                  "with a semicolon (;), which comments it out.\n\n"
  824.                  "Should you wish to run the BBS automatically on startup in the future, "
  825.                  "all that needs to be done is the removal of that semicolon."
  826.             )
  827.         )
  828.         
  829.     )
  830.  
  831.     (startup "CNet Amiga Pro 4"
  832.  
  833.         (prompt "\nSeveral assignments need to be made to your S:User-Startup "
  834.             "file which allow CNet to find all the files and directories "
  835.             "we've just installed.\n\n"
  836.             "In addition, other actions required by CNet will be "
  837.             "added."
  838.         )
  839.         (help    "CNet requires several assignments so that it can find "
  840.             "all it's files.  Many assign statements will be made "
  841.             "to your S:User-Startup file, and will also launch "
  842.             "several of the handlers CNet requires, set the stack "
  843.             "requirement automatically, etc."
  844.         )
  845.  
  846.         (command
  847.  
  848.         ("\n"                        )
  849.         ("assign CNet:     \"%s\"\n" (getassign "CNet"        ))
  850.         ("assign SysText:  \"%s\"\n" (getassign "SysText"    ))
  851.         ("assign SysData:  \"%s\"\n" (getassign "SysData"    ))
  852.         ("assign News:     \"%s\"\n" (getassign "News"        ))
  853.         ("assign GFiles:   \"%s\"\n" (getassign "GFiles"    ))
  854.         ("assign DOORS:   \"%s\"\n" (getassign "DOORS"    ))
  855.         ("assign Mail:     \"%s\"\n" (getassign "Mail"        ))
  856.         ("assign Base0:    \"%s\"\n" (getassign "Base0"        ))
  857.         ("assign UDBase0:  \"%s\"\n" (getassign "UDBase0"    ))
  858.  
  859.         ("\n; You may add other ASSIGNs here as necessary, for example")
  860.         ("\n; for Base1: and UDBase1: etc.  Consult your manual!\n")
  861.         
  862.         ("\n; Sets up/launches CNet Amiga\n\n"         )
  863.         ("run        <>NIL: L:FIFO-Handler\n"     )
  864.         ("mount        <>NIL: PIPE:\n"             )
  865.         ("rexxmast     >NIL:\n\n"             )
  866.         ("stack        40000\n\n"             )
  867.         ("%s\n"                    SplLine1 )
  868.         ("%s\n\n"                SplLine2 )
  869.         ("%sresident PURE CNet:bbs CNet:bbs ADD\n" ResFlag )
  870.         ("%sresident PURE DOORS:bbs/vote DOORS:bbs/vote ADD\n" ResFlag )
  871.         ("%sresident PURE DOORS:bbs/join DOORS:bbs/join ADD\n" ResFlag )
  872.         ("\n%srun        <>NIL: CNet:Control\n"   RunFlag )
  873.         )
  874.     )
  875.  
  876. ;    (textfile
  877. ;
  878. ;        (dest    "S:CNet-Startup")
  879. ;        (append
  880. ;
  881. ;        )
  882. ;    )
  883.  
  884.     (if
  885.         (askbool
  886.  
  887.             (prompt "\nInstallation complete!\n\n  You should now further configure "
  888.                 "your system using C-Net's CONFIG program.\n\n"
  889.                 "Do you wish to run CONFIG now?"
  890.             )
  891.             (help    "CONFIG is a mouse-driven program that allows you "
  892.                 "to configure many imporant things about your system, "
  893.                 "such as new user defaults, message limits, paths to "
  894.                 "system data, and much much more.  There are many things "
  895.                 "that require your attention before the BBS is ready "
  896.                 "to go on-line.  See your CNet manual for more info."
  897.             )
  898.         )
  899.  
  900.         ; TRUE statement
  901.         (
  902.             (run "run CNet:Config" )
  903.         )
  904.     )
  905.  
  906.     (if
  907.         (askbool
  908.  
  909.             (prompt "\nYou should also run the VDE programs "
  910.                 "to create your system VDE files.\n\n"
  911.                 "Do you wish to run the VDE executables now?"
  912.             )
  913.             (help    "VDE is a simple utility that creates the required system "
  914.                 "VDE (Visual Data Editor) files.  See your CNet manual for more info."
  915.             )
  916.         )
  917.  
  918.         ; TRUE statement
  919.         (
  920.             (run "run CNet:VDE"  )
  921.             (run "run CNet:VDE2" )
  922.         )
  923.     )
  924.  
  925.     (if
  926.         (askbool
  927.  
  928.             (prompt "\nDo you wish to view the Amigaguide CNet "
  929.                 "changes documentation?"
  930.             )
  931.             (help    "!changes.guide and !chagnes.readme contain "
  932.                 "detailed descriptions of changes made to CNet."
  933.             )
  934.         )
  935.  
  936.         ; TRUE statement
  937.         (
  938.             (run "run CNet:VDE"  )
  939.             (run "run amigaguide cnet:!changes.guide" )
  940.         )
  941.     )
  942.  
  943. )
  944. )
  945.  
  946.  
  947. ;
  948. ; BEGIN MAIN INSTALLATION SEQUENCE TREE
  949. ;
  950. ; The welcome statement determines whether or not to do an update
  951. ; installation or a new-user installation, and then calls a master-procedure
  952. ; defined above which handles that type of installation appropriately.
  953. ;
  954.  
  955. (welcome
  956.  
  957.     (set @default-dest "CNet")
  958.  
  959.     (if    
  960.         (exists "CNet:bbs" (noreq))
  961.  
  962.         ; TRUE statement
  963.         (
  964.             (set NewInstall 0)
  965.  
  966.             (user 2)
  967.             (message
  968.                 "\nThe system has detected that you already have "
  969.                 "CNet Amiga installed.\n\nThe installer will perform "
  970.                 "an update installation, only "
  971.                 "copying over the necessary executables, and will "
  972.                 "only copy files which you might have customized "
  973.                 "(menus, help files, etc) if you ask it to."
  974.             )
  975.         )
  976.  
  977.         ; FALSE statement
  978.         (
  979.             (set NewInstall 1)
  980.  
  981.             (message
  982.                 "\nThe system has detected that you are installing "
  983.                 "CNet for the first time.\n\nHave your manual handy, "
  984.                 "and remember the HELP key works in most places."
  985.             )
  986.         )
  987.     )
  988. )
  989.  
  990. (if    NewInstall
  991.  
  992.     ; TRUE statement
  993.     (
  994.         (DoNewInstall)
  995.     )
  996.  
  997.     ; FALSE statement
  998.     (
  999.         (DoUpdateInstall)
  1000.     )
  1001. )
  1002.  
  1003. (if    
  1004.     (exists "cnet:bbslicense" (noreq))
  1005.     ; TRUE statement
  1006.     ("")
  1007.     ; FALSE statement
  1008.     (if    
  1009.         (exists "cnet/bbslicense" (noreq))
  1010.     
  1011.         ; TRUE statement
  1012.         (
  1013.         (copyfiles
  1014.  
  1015.             (source "cnet")
  1016.             (dest   "CNET:")
  1017.             (choices "bbslicense")
  1018.             (optional "nofail" "askuser")
  1019.         )
  1020.         )
  1021.     )
  1022. )
  1023.